<?php

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * 加载分页
 * @param type $count
 * @param type $pageSize
 * @return type
 */
function loadPage($count, $pageSize) {
    $page = new \Think\Page($count, $pageSize);
    $page->setConfig('prev', '上一页');
    $page->setConfig('next', '下一页');
    if (MODULE_NAME == 'Home') {
        return $page->showFrontPage();
    } else {
        return $page->showPage();
    }
}

/**
 * 检测标签别名的格式
 * @param type $alias
 * @return boolean
 */
function checkTagAlias($alias) {
    $pattern = '/^(\w)+$/';
    if (preg_match($pattern, $alias)) {
        return true;
    } else {
        return false;
    }
}

function getSortType($type, $is_reverse = true) {
    if ($is_reverse) {
        if ($type == 'sorting' || $type == 'sorting_desc') {
            return 'asc';
        } else {
            return 'desc';
        }
    } else {
        if ($type == 'sorting_desc') {
            return 'desc';
        } else {
            return 'asc';
        }
    }
}

//html转化为纯文本
/**
 * text函数用于过滤标签，输出没有html的干净的文本
 * @param string text 文本内容
 * @return string 处理后内容
 */
function html2text($text) {
    $text = nl2br($text);
    $text = real_strip_tags($text);
    $text = addslashes($text);
    $text = trim($text);
    return $text;
}

function real_strip_tags($str, $allowable_tags = "") {
    $str = html_entity_decode($str, ENT_QUOTES, 'UTF-8');
    return strip_tags($str, $allowable_tags);
}

/**
  +----------------------------------------------------------
 * 把返回的数据集转换成Tree
  +----------------------------------------------------------
 * @access public
  +----------------------------------------------------------
 * @param array $list 要转换的数据集
 * @param string $pid parent标记字段
 * @param string $level level标记字段
  +----------------------------------------------------------
 * @return array
  +----------------------------------------------------------
 */
function list_to_tree($list, $pk = 'id', $pid = 'pid', $child = '_child', $root = 0, $use_id_key = 1) {
    // 创建Tree
    $tree = array();
    if (is_array($list)) {
        $refer = array(); // 创建基于主键的数组引用
        foreach ($list as $key => $data) {
            $refer[$data[$pk]] = & $list[$key];
        }
        foreach ($list as $key => $data) {
            $parentId = $data[$pid]; // 判断是否存在parent
            if ($root == $parentId) {
                $use_id_key ? $tree[$data[$pk]] = & $list[$key] : $tree[] = & $list[$key];
            } else {
                if (isset($refer[$parentId])) {
                    $parent = & $refer[$parentId];
                    $use_id_key ? $parent[$child][$data[$pk]] = & $list[$key] : $parent[$child][] = & $list[$key];
                }
            }
        }
    }
    return $tree;
}

/* ---------------------------------------------------------
 * 事先了解：
 * time()函数返回当前时间的unix时间戳。
 * 返回从Unix纪元（1970年1月1日 00：00：00）到当前时间的秒数
  ----------------------------------------------------------- */

/**
 * 显示更加友好的日期
 * @param  string 时间戳
 * @return string 时间
 */
function friendlyDate($then) {
    $now = time();      //当前时间
    $time = $now - $then; //之前的时间与当前的时间距离的秒数
    switch ($time) {
        case $time <= 10:
            return '刚刚';
        case $time >= 60 && $time <= 3600:
            $time = intval($time / 60);
            return $time . '分钟前';
        case $time >= 3600:
            $time = intval($time / 3600);
            if ($time < 12) {
                return $time . '小时前';
            }
        default :return date('Y-m-d', $then);
    }
}

//根据百分比获取随机项
function rand_($rand, $k, $p = array()) {
    $all = $p ? $p : $percent[$k];
    foreach ($all as $key => $value) {
        if ($value[0] <= $rand && $rand <= $value[1]) {
            return $key;
        }
    }
}